package ojt.exception;

import java.util.ArrayList;

/**
 * 業務ロジックで発生した例外のクラス。<br />
 * 入力チェックエラーなど、エラーメッセージを出力し<br />
 * 画面を表示するレベルのエラーが発生した場合は<br />
 * このクラスのsetErrorMessageでエラーメッセージを格納すること。
 * @author kenta
 *
 */
public class BusinessException extends Exception {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * エラーメッセージリスト。
	 * 業務ロジックでエラーが発生した場合、順次ここに格納すること
	 */
	private ArrayList<String> errorMessages = new ArrayList<String>();
	
	/**
	 * コンストラクタ
	 */
	public BusinessException(){
	}
	
	/**
	 * 引数付きのコンストラクタ
	 * 入力されたエラーメッセージで、エラーメッセージリストを初期化する
	 * @param String エラーメッセージ
	 */
	public BusinessException(String errorMessage){
		setErrorMessage(errorMessage);
	}
	/**
	 * エラーメッセージのセッター
	 * @param errorMessage エラーメッセージ
	 */
	public void setErrorMessage(String errorMessage){
		this.errorMessages.add(errorMessage);
	}
	
	/**
	 * エラーメッセージのゲッター
	 * @return errorMessages エラーメッセージのリスト
	 */
	public ArrayList<String> getErrorMessages(){
		return this.errorMessages;
	}

}
